<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <script>

        // 数据类型

        //  基本数据类型 5种
        //    数字     number
        //    字符串   string
        //    布尔值   boolean
        //    未定义   undefined    变量已经声明了但是还没有赋值     js独有的
        //    空对象   null     数据类型显示结果为 object
        //  复杂数据类型？？？？ --- 后面学


        // 判断数据类型的方法  typeof
        //    我们有眼睛，计算机没有眼睛 



        // null 和 undefined 有什么区别？
        //   null 是空值，也是一种值   是空对象
        //   undefined  没有值，已经声明但是没有值

        // typeof typeof 任意值    string 




        var a = 1;   // 数字
        var b = 'hi';  // 字符串
        var c = true;   // 布尔值---逻辑值(对错)   true / false

        console.log(typeof a);   // number
        console.log(typeof b);   // string
        console.log(typeof c);    // boolean


        var d;
        console.log(typeof d);   // undefined 


        // console.log(f);    // is not defined  报错

        var h = null;
        console.log(h);
        // null 是一种空对象
        console.log(typeof null);  // object

        // 相当于  typeof (typeof a)
        //        typeof  'number'
        //        string

        // 也就是说：typeof type 任意值   都会得到string
        console.log(typeof typeof a);  // string
        console.log(typeof typeof b);  // string
    </script>

</body>

</html>